The present invention relates to database management systems, and more specifically, to delete operations performed by database management systems.
Some database management systems update each row of a table with a marker in order to indicate that the marked rows should be considered as deleted. The scanning process and the computational overhead for processing the markers may result in slow performance of full table deletes.
The performance of full delete operations of many analytical systems may be slow because analytical systems commonly are performance-optimized for analytical queries and processing tasks, not for mass deletes. In particular, full delete operations in database management systems providing snapshot isolation, as for example in multiversion concurrency control (MVCC) systems, tend to be slow because such systems scan every single row of the table, including inspection of records which are already logically deleted, in order to perform a full delete operation. Deletes of individual rows may result in poor performance in such systems while a full table delete may result in a blocking of subsequent write transactions and thus, may block and conflict with analytical and/or other tasks to be performed. For example, a re-load typically cannot start before the full table delete has been completed.